package com.ruoyi.quanzi.mapper;

import java.util.List;
import com.ruoyi.quanzi.domain.SunPost;

/**
 * 帖子数据层
 * 
 * @author ruoyi
 */
public interface SunPostMapper
{
    /**
     * 查询帖子
     * 
     * @param postId 帖子ID
     * @return 帖子
     */
    public SunPost selectSunPostById(Long postId);

    /**
     * 查询帖子列表
     * 
     * @param sunPost 帖子
     * @return 帖子集合
     */
    public List<SunPost> selectSunPostList(SunPost sunPost);

    /**
     * 新增帖子
     * 
     * @param sunPost 帖子
     * @return 结果
     */
    public int insertSunPost(SunPost sunPost);

    /**
     * 修改帖子
     * 
     * @param sunPost 帖子
     * @return 结果
     */
    public int updateSunPost(SunPost sunPost);

    /**
     * 删除帖子
     * 
     * @param postId 帖子ID
     * @return 结果
     */
    public int deleteSunPostById(Long postId);

    /**
     * 批量删除帖子
     * 
     * @param postIds 需要删除的帖子ID
     * @return 结果
     */
    public int deleteSunPostByIds(Long[] postIds);
    
    /**
     * 查询热门帖子
     * 
     * @param limit 限制数量
     * @return 帖子集合
     */
    public List<SunPost> selectHotPosts(int limit);
    
    /**
     * 查询推荐帖子
     * 
     * @param limit 限制数量
     * @return 帖子集合
     */
    public List<SunPost> selectRecommendPosts(int limit);
    
    /**
     * 根据话题ID查询帖子列表
     * 
     * @param topicId 话题ID
     * @return 帖子集合
     */
    public List<SunPost> selectPostsByTopicId(Long topicId);
    
    /**
     * 根据用户ID查询帖子列表
     * 
     * @param userId 用户ID
     * @return 帖子集合
     */
    public List<SunPost> selectPostsByUserId(Long userId);
}